package com.xyz.controller;

import com.xyz.entity.Commodity;
import com.xyz.entity.Mark;
import com.xyz.entity.User;
import com.xyz.pojo.Result;
import com.xyz.service.MarkService;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@Slf4j//最主要的问题，token
@RequestMapping("/Mark")
public class MarkController {
    //关注，需要用到Mark对象 POST
    //取消关注 需要用到Mark对象 DELETE，如何批量取消
    //返回关注列表,只需要用户id，就可以返回被关注的id，然后拿到全部信息
    @Autowired
    private MarkService markService;
    @PostMapping
    public Result addMark(@RequestBody Mark mark){
        //处理逻辑
        log.info("新增关注:{}",mark);
        markService.addMark(mark);
        //响应，要不要写一下信息
        return Result.success();
    }
@DeleteMapping
    public Result cancel(@RequestBody Mark mark){
        //处理逻辑
        log.info("取消关注:{}",mark);
        markService.cancel(mark);
        //响应
        return Result.success();
    }

    @GetMapping("/{userid}")
    public Result list(@PathVariable Integer userid){
        log.info("查询{}所关注的所有用户",userid);
        //关注 只返回姓名 头像 Id 当真正需要时，再访问具体的查看用户

        List<User> userlist=markService.list(userid);
        return Result.success(userlist);
    }
}
